package com.qqtech.qquan.sys.dao;

import java.util.List;

import com.qqtech.core.frame.dao.BaseDao;
import com.qqtech.qquan.sys.model.SysFunction;
import com.qqtech.qquan.sys.model.SysFunctionQuery;
import com.qqtech.qquan.sys.model.SysFunctionVo;

public interface SysFunctionDao extends BaseDao<SysFunction> {
	/**
	 * 根据父级菜单ID获取子菜单列表，parentId为空时，获取所以根目录列表
	 * @param parentId
	 * @return
	 */
	public List<SysFunctionVo> queryListByParentId(SysFunctionQuery sysFunction) ;
	
	/**
	 * 取最大的排序
	 * @return
	 */
	public Integer getMaxOrderIdx();
	
	/**
	 * 获取角色关联的子功能
	 * @param roleId		角色ID
	 * @param parentId		父功能ID,当parentId==null时,返回顶级功能
	 * @param status		状态,当status==null时,返回所有状态的功能
	 * @return
	 */
	public List<SysFunctionVo> getChildrenForRole(SysFunctionQuery sysFunction);
	
	/**
	 * 根据角色id查询
	 * @param sysFunction
	 * @return
	 */
	public List<SysFunctionVo> getByRoleId(SysFunctionQuery sysFunction);
}
